/** <!--------------------------------------------------------------------------------------------->
 * @file SvnRevisionIdentifier.h
 *
 * GSvn - A Graphical Client for SVN
 * Copyright (C) 2012  Karl Krach, gsvn@bluespirit.la
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 <!---------------------------------------------------------------------------------------------> */


#ifndef SVN_NODE_IDENTIFIER_H
#define SVN_NODE_IDENTIFIER_H

// -- includes --
#include <QMetaType>

// --- forward declarations ---
// --- namespaces ---
// --- defines ---


/** <!--------------------------------------------------------------------------------------------->
 * Struct for saving the path of a requested revision, its revision number or m_bHead==true, when
 * using the HEAD
 *
 * @author	Karl Krach, <gsvn@bluespirit.la>
 * @since	2012-01-08
 <!---------------------------------------------------------------------------------------------> */
struct SvnRevisionIdentifier
{
	/** <!----------------------------------------------------------------------------------------->
	 * Path to identify the node (e.g. relative as 'src/hugo.txt' or absolute as
	 * 'svn://localhost/myproject/src')
	 <!-----------------------------------------------------------------------------------------> */
	const char* m_strPath;

	/** <!----------------------------------------------------------------------------------------->
	 * Flag to set to true, if the HEAD should be returned (and not the given revision)
	 <!-----------------------------------------------------------------------------------------> */
	bool m_bHead;

	/** <!----------------------------------------------------------------------------------------->
	 * If m_bHead is false, the given revision will be used
	 <!-----------------------------------------------------------------------------------------> */
	int m_iRevNumber;

};	// END struct SvnRevisionIdentifier


Q_DECLARE_METATYPE( SvnRevisionIdentifier )

#endif // SVN_NODE_IDENTIFIER_H
